<template>
	<view class="home">
		<u-navbar bgColor="#ffffff" placeholder @rightClick="rightClick" title="雨量站列表" :titleStyle="titleStyle"
			:autoBack="true">
			<view class="u-nav-slot" slot="left">
				<u-icon name="arrow-left" color="#000000" size="20"></u-icon>
			</view>
		</u-navbar>

		<!-- <button @click="electricFn(12)">电量</button> -->
		<mescroll-body @init="mescrollInit" @up="upCallback" :down="downOption" @down="downCallback" :up="upOption">
			<view class="devlist" v-for="(i,index) in dataList" :key="index" @click="devShow(i)">
				<!-- <image class="img" :src="i.productImage" mode=""></image> -->
				<u-row>
					<u-col span="2">
						<image class="img" src="@/static/imgaa.png" mode=""></image>
					</u-col>
					<u-col span="10">
						<view class="devitem">
							{{i.name}}
						</view>
					</u-col>
				</u-row>
			</view>
		</mescroll-body>
	</view>
</template>

<script>
	import dayjs from '@/common/dayjs.min.js';
	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
	export default {
		mixins: [MescrollMixin], // 使用mixin
		data() {
			return {
				titleStyle: {
					color: '#000000',
					fontSize: '40rpx'
				},
				upOption: {
					page: {
						num: 0,
						size: 10 // 每页数据的数量,默认10
					},
					noMoreSize: 2,
					empty: {
						tip: '暂无相关数据'
					}
				},
				downOption: {},
				dataList: [],
				id: ''
			}
		},
		onLoad(option) {
			this.id = option.id
		},
		methods: {
			rightClick() {

			},
			devShow(i) {
				console.log('iiii', i);
				uni.navigateTo({
					url: '/pages/statistics/dailyRainfall?id=' + i.id + '&name=' + i.name
				});
			},
			upCallback(page) {
				let pageNum = page.num; // 页码, 默认从1开始
				let pageSize = page.size; // 页长, 默认每页10条
				uni.$u.http.get('/api/device/device/getRainfallStationList', {
					params: {
						"pageSize": pageSize,
						"pageNum": pageNum,
						"rfsgId": this.id
					}
				}).then(res => {
					if (res.code == 200) {
						console.log('列表', res);
						// 接口返回的当前页数据列表 (数组)
						let curPageData = res.rows;
						// 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
						let curPageLen = curPageData.length;
						// 接口返回的总页数 (如列表有26个数据,每页10条,共3页; 则totalPage=3)
						// let totalPage = data.total;
						// 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
						let totalSize = res.total;
						// 接口返回的是否有下一页 (true/false)

						//设置列表数据

						if (page.num == 1) this.dataList = []; //如果是第一页需手动置空列表
						this.dataList = this.dataList.concat(curPageData); //追加新数据
						
						//方法二(推荐): 后台接口有返回列表的总数据量 totalSize
						this.mescroll.endBySize(curPageLen, totalSize);
					} else {
						uni.showToast({
							title: '暂无数据',
							duration: 1500
						});
					}
				}).catch(err => {
					console.log('err', err);
					//  请求失败,隐藏加载状态
					this.mescroll.endErr()
				})
			},
			// 相对时间
			relativeTime(date) {
				const dateToCheck = dayjs(date.TIM);
				// 获取今天的日期
				const today = dayjs().format('YYYY-MM-DD HH:mm');
				// 计算dateToCheck距离今天的天数差异
				const daysDifference = dateToCheck.diff(today, 'day');
				// 如果你想要一个绝对值（不考虑正负），可以使用Math.abs
				const absoluteDaysDifference = Math.abs(daysDifference);
				return absoluteDaysDifference
			},
			// 电量
			electricFn(data) {
				let nub = (data - 8) / (12 - 8) * 100
				return nub.toFixed(0)
			},
			// 下拉刷新
			downCallback() {
				this.dataList = []
				this.mescroll.resetUpScroll();
			},
			/*若希望重新加载列表,只需调用此方法即可(内部会自动page.num=1,再主动触发up.callback)*/
			reloadList() {
				this.mescroll.resetUpScroll();
			}
		}
	}
</script>
<style scoped lang="scss">
	.home {
		.devlist {
			font-size: 40rpx;
			padding: 15rpx;
			margin: 20rpx;
			border-radius: 20rpx;
			background-color: #ffffff;

			.img {
				width: 100rpx;
				height: 100rpx;
			}

			.devitem {
				text-align: center;
			}
		}
	}
</style>
<style>
	@font-face {
		font-family: 'MyFont';
		src: url('@/static/fonts/LED.otf');
	}

	page {
		background-color: #eff2f4;
	}
</style>